home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / ByteArray.h < prev    next >
C/C++ Source or Header  |  1990-11-28  |  1KB  |  49 lines

  1. #ifndef ByteArray_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define ByteArray_First
  6.  
  7. #include "Object.h"
  8.  
  9. //---- class ByteArray ---------------------------------------------------------
  10. extern char *cAtPutName;
  11. extern char *cOutOfBoundsError;
  12.  
  13. class ByteArray: public Object {
  14.     byte *cont;
  15.     int  cap;
  16. public:
  17.     MetaDef(ByteArray);
  18.  
  19.     //---- creation, destruction  
  20.     ByteArray(int size);              
  21.     ByteArray(byte *aStr, int l= -1);               
  22.     ByteArray(char *aStr, int l= -1);               
  23.     ~ByteArray();
  24.  
  25.     //---- accessing
  26.     byte *Str ()
  27.     { return cont; }
  28.     void SetString (byte *s); 
  29.     void operator= (byte *s);
  30.     char At(int i)
  31.     { return cont[i]; }
  32.     void AtPut(int i, byte c)
  33.     { if ( i < 0 || i >= cap)
  34.         Error (cAtPutName, cOutOfBoundsError);
  35.       else
  36.         cont[i] = c; 
  37.     }
  38.  
  39.     //---- standard overriden methods   
  40.     unsigned long Hash ();
  41.     bool IsEqual (ObjPtr);
  42.     int  Compare (ObjPtr);
  43.     ostream& PrintOn (ostream&s);
  44.     istream& ReadFrom (istream& s);
  45.     void InspectorId(char *buf, int sz);
  46. };
  47.  
  48. #endif ByteArray_First
  49.